如何从Python列表和str生成唯一的名称

2024-05-20 13:44:13 发布

您现在位置:Python中文网/ 问答频道 /正文

str = "Adward"
list =["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]

我想通过删除索引1和4处的str中的两个字母来生成新名称,我想从列表中插入新字母以生成新的唯一名称

示例:Aawaad


Tags: 名称示例列表字母liststraawaadadward
2条回答
GivenString = "Adward"

listOfChars =["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
GivenStringList=[]
print(GivenString)
for i in range(0,len(listOfChars)):
    for j in range(0, len(listOfChars)):

        GivenString = GivenString[:1] + listOfChars[i] + GivenString[2:4] + listOfChars[j] + GivenString[5:]
        GivenStringList.append(GivenString)
print(GivenStringList)

打印(len(给定字符串列表))

结果是:

Adward #Original word
['Aawaad', 'Aawabd', 'Aawacd', 'Aawadd', 'Aawaed', 'Aawafd', 'Aawagd', 'Aawahd', 'Aawaid', 'Aawajd', 'Aawakd', 'Aawald', 'Aawamd', 'Aawand', 'Aawaod', 'Aawapd', 'Aawaqd', 'Aaward', 'Aawasd', 'Aawatd', 'Aawaud', 'Aawavd', 'Aawawd', 'Aawaxd', 'Aawayd', 'Aawazd', 'Abwaad', 'Abwabd', 'Abwacd', 'Abwadd', 'Abwaed', 'Abwafd', 'Abwagd', 'Abwahd', 'Abwaid', 'Abwajd', 'Abwakd', 'Abwald', 'Abwamd', 'Abwand', 'Abwaod', 'Abwapd', 'Abwaqd', 'Abward', 'Abwasd', 'Abwatd', 'Abwaud', 'Abwavd', 'Abwawd', 'Abwaxd', 'Abwayd', 'Abwazd', 'Acwaad', 'Acwabd', 'Acwacd', 'Acwadd', 'Acwaed', 'Acwafd', 'Acwagd', 'Acwahd', 'Acwaid', 'Acwajd', 'Acwakd', 'Acwald', 'Acwamd', 'Acwand', 'Acwaod', 'Acwapd', 'Acwaqd', 'Acward', 'Acwasd', 'Acwatd', 'Acwaud', 'Acwavd', 'Acwawd', 'Acwaxd', 'Acwayd', 'Acwazd', 'Adwaad', 'Adwabd', 'Adwacd', 'Adwadd', 'Adwaed', 'Adwafd', 'Adwagd', 'Adwahd', 'Adwaid', 'Adwajd', 'Adwakd', 'Adwald', 'Adwamd', 'Adwand', 'Adwaod', 'Adwapd', 'Adwaqd', 'Adward', 'Adwasd', 'Adwatd', 'Adwaud', 'Adwavd', 'Adwawd', 'Adwaxd', 'Adwayd', 'Adwazd', 'Aewaad', 'Aewabd', 'Aewacd', 'Aewadd', 'Aewaed', 'Aewafd', 'Aewagd', 'Aewahd', 'Aewaid', 'Aewajd', 'Aewakd', 'Aewald', 'Aewamd', 'Aewand', 'Aewaod', 'Aewapd', 'Aewaqd', 'Aeward', 'Aewasd', 'Aewatd', 'Aewaud', 'Aewavd', 'Aewawd', 'Aewaxd', 'Aewayd', 'Aewazd', 'Afwaad', 'Afwabd', 'Afwacd', 'Afwadd', 'Afwaed', 'Afwafd', 'Afwagd', 'Afwahd', 'Afwaid', 'Afwajd', 'Afwakd', 'Afwald', 'Afwamd', 'Afwand', 'Afwaod', 'Afwapd', 'Afwaqd', 'Afward', 'Afwasd', 'Afwatd', 'Afwaud', 'Afwavd', 'Afwawd', 'Afwaxd', 'Afwayd', 'Afwazd', 'Agwaad', 'Agwabd', 'Agwacd', 'Agwadd', 'Agwaed', 'Agwafd', 'Agwagd', 'Agwahd', 'Agwaid', 'Agwajd', 'Agwakd', 'Agwald', 'Agwamd', 'Agwand', 'Agwaod', 'Agwapd', 'Agwaqd', 'Agward', 'Agwasd', 'Agwatd', 'Agwaud', 'Agwavd', 'Agwawd', 'Agwaxd', 'Agwayd', 'Agwazd', 'Ahwaad', 'Ahwabd', 'Ahwacd', 'Ahwadd', 'Ahwaed', 'Ahwafd', 'Ahwagd', 'Ahwahd', 'Ahwaid', 'Ahwajd', 'Ahwakd', 'Ahwald', 'Ahwamd', 'Ahwand', 'Ahwaod', 'Ahwapd', 'Ahwaqd', 'Ahward', 'Ahwasd', 'Ahwatd', 'Ahwaud', 'Ahwavd', 'Ahwawd', 'Ahwaxd', 'Ahwayd', 'Ahwazd', 'Aiwaad', 'Aiwabd', 'Aiwacd', 'Aiwadd', 'Aiwaed', 'Aiwafd', 'Aiwagd', 'Aiwahd', 'Aiwaid', 'Aiwajd', 'Aiwakd', 'Aiwald', 'Aiwamd', 'Aiwand', 'Aiwaod', 'Aiwapd', 'Aiwaqd', 'Aiward', 'Aiwasd', 'Aiwatd', 'Aiwaud', 'Aiwavd', 'Aiwawd', 'Aiwaxd', 'Aiwayd', 'Aiwazd', 'Ajwaad', 'Ajwabd', 'Ajwacd', 'Ajwadd', 'Ajwaed', 'Ajwafd', 'Ajwagd', 'Ajwahd', 'Ajwaid', 'Ajwajd', 'Ajwakd', 'Ajwald', 'Ajwamd', 'Ajwand', 'Ajwaod', 'Ajwapd', 'Ajwaqd', 'Ajward', 'Ajwasd', 'Ajwatd', 'Ajwaud', 'Ajwavd', 'Ajwawd', 'Ajwaxd', 'Ajwayd', 'Ajwazd', 'Akwaad', 'Akwabd', 'Akwacd', 'Akwadd', 'Akwaed', 'Akwafd', 'Akwagd', 'Akwahd', 'Akwaid', 'Akwajd', 'Akwakd', 'Akwald', 'Akwamd', 'Akwand', 'Akwaod', 'Akwapd', 'Akwaqd', 'Akward', 'Akwasd', 'Akwatd', 'Akwaud', 'Akwavd', 'Akwawd', 'Akwaxd', 'Akwayd', 'Akwazd', 'Alwaad', 'Alwabd', 'Alwacd', 'Alwadd', 'Alwaed', 'Alwafd', 'Alwagd', 'Alwahd', 'Alwaid', 'Alwajd', 'Alwakd', 'Alwald', 'Alwamd', 'Alwand', 'Alwaod', 'Alwapd', 'Alwaqd', 'Alward', 'Alwasd', 'Alwatd', 'Alwaud', 'Alwavd', 'Alwawd', 'Alwaxd', 'Alwayd', 'Alwazd', 'Amwaad', 'Amwabd', 'Amwacd', 'Amwadd', 'Amwaed', 'Amwafd', 'Amwagd', 'Amwahd', 'Amwaid', 'Amwajd', 'Amwakd', 'Amwald', 'Amwamd', 'Amwand', 'Amwaod', 'Amwapd', 'Amwaqd', 'Amward', 'Amwasd', 'Amwatd', 'Amwaud', 'Amwavd', 'Amwawd', 'Amwaxd', 'Amwayd', 'Amwazd', 'Anwaad', 'Anwabd', 'Anwacd', 'Anwadd', 'Anwaed', 'Anwafd', 'Anwagd', 'Anwahd', 'Anwaid', 'Anwajd', 'Anwakd', 'Anwald', 'Anwamd', 'Anwand', 'Anwaod', 'Anwapd', 'Anwaqd', 'Anward', 'Anwasd', 'Anwatd', 'Anwaud', 'Anwavd', 'Anwawd', 'Anwaxd', 'Anwayd', 'Anwazd', 'Aowaad', 'Aowabd', 'Aowacd', 'Aowadd', 'Aowaed', 'Aowafd', 'Aowagd', 'Aowahd', 'Aowaid', 'Aowajd', 'Aowakd', 'Aowald', 'Aowamd', 'Aowand', 'Aowaod', 'Aowapd', 'Aowaqd', 'Aoward', 'Aowasd', 'Aowatd', 'Aowaud', 'Aowavd', 'Aowawd', 'Aowaxd', 'Aowayd', 'Aowazd', 'Apwaad', 'Apwabd', 'Apwacd', 'Apwadd', 'Apwaed', 'Apwafd', 'Apwagd', 'Apwahd', 'Apwaid', 'Apwajd', 'Apwakd', 'Apwald', 'Apwamd', 'Apwand', 'Apwaod', 'Apwapd', 'Apwaqd', 'Apward', 'Apwasd', 'Apwatd', 'Apwaud', 'Apwavd', 'Apwawd', 'Apwaxd', 'Apwayd', 'Apwazd', 'Aqwaad', 'Aqwabd', 'Aqwacd', 'Aqwadd', 'Aqwaed', 'Aqwafd', 'Aqwagd', 'Aqwahd', 'Aqwaid', 'Aqwajd', 'Aqwakd', 'Aqwald', 'Aqwamd', 'Aqwand', 'Aqwaod', 'Aqwapd', 'Aqwaqd', 'Aqward', 'Aqwasd', 'Aqwatd', 'Aqwaud', 'Aqwavd', 'Aqwawd', 'Aqwaxd', 'Aqwayd', 'Aqwazd', 'Arwaad', 'Arwabd', 'Arwacd', 'Arwadd', 'Arwaed', 'Arwafd', 'Arwagd', 'Arwahd', 'Arwaid', 'Arwajd', 'Arwakd', 'Arwald', 'Arwamd', 'Arwand', 'Arwaod', 'Arwapd', 'Arwaqd', 'Arward', 'Arwasd', 'Arwatd', 'Arwaud', 'Arwavd', 'Arwawd', 'Arwaxd', 'Arwayd', 'Arwazd', 'Aswaad', 'Aswabd', 'Aswacd', 'Aswadd', 'Aswaed', 'Aswafd', 'Aswagd', 'Aswahd', 'Aswaid', 'Aswajd', 'Aswakd', 'Aswald', 'Aswamd', 'Aswand', 'Aswaod', 'Aswapd', 'Aswaqd', 'Asward', 'Aswasd', 'Aswatd', 'Aswaud', 'Aswavd', 'Aswawd', 'Aswaxd', 'Aswayd', 'Aswazd', 'Atwaad', 'Atwabd', 'Atwacd', 'Atwadd', 'Atwaed', 'Atwafd', 'Atwagd', 'Atwahd', 'Atwaid', 'Atwajd', 'Atwakd', 'Atwald', 'Atwamd', 'Atwand', 'Atwaod', 'Atwapd', 'Atwaqd', 'Atward', 'Atwasd', 'Atwatd', 'Atwaud', 'Atwavd', 'Atwawd', 'Atwaxd', 'Atwayd', 'Atwazd', 'Auwaad', 'Auwabd', 'Auwacd', 'Auwadd', 'Auwaed', 'Auwafd', 'Auwagd', 'Auwahd', 'Auwaid', 'Auwajd', 'Auwakd', 'Auwald', 'Auwamd', 'Auwand', 'Auwaod', 'Auwapd', 'Auwaqd', 'Auward', 'Auwasd', 'Auwatd', 'Auwaud', 'Auwavd', 'Auwawd', 'Auwaxd', 'Auwayd', 'Auwazd', 'Avwaad', 'Avwabd', 'Avwacd', 'Avwadd', 'Avwaed', 'Avwafd', 'Avwagd', 'Avwahd', 'Avwaid', 'Avwajd', 'Avwakd', 'Avwald', 'Avwamd', 'Avwand', 'Avwaod', 'Avwapd', 'Avwaqd', 'Avward', 'Avwasd', 'Avwatd', 'Avwaud', 'Avwavd', 'Avwawd', 'Avwaxd', 'Avwayd', 'Avwazd', 'Awwaad', 'Awwabd', 'Awwacd', 'Awwadd', 'Awwaed', 'Awwafd', 'Awwagd', 'Awwahd', 'Awwaid', 'Awwajd', 'Awwakd', 'Awwald', 'Awwamd', 'Awwand', 'Awwaod', 'Awwapd', 'Awwaqd', 'Awward', 'Awwasd', 'Awwatd', 'Awwaud', 'Awwavd', 'Awwawd', 'Awwaxd', 'Awwayd', 'Awwazd', 'Axwaad', 'Axwabd', 'Axwacd', 'Axwadd', 'Axwaed', 'Axwafd', 'Axwagd', 'Axwahd', 'Axwaid', 'Axwajd', 'Axwakd', 'Axwald', 'Axwamd', 'Axwand', 'Axwaod', 'Axwapd', 'Axwaqd', 'Axward', 'Axwasd', 'Axwatd', 'Axwaud', 'Axwavd', 'Axwawd', 'Axwaxd', 'Axwayd', 'Axwazd', 'Aywaad', 'Aywabd', 'Aywacd', 'Aywadd', 'Aywaed', 'Aywafd', 'Aywagd', 'Aywahd', 'Aywaid', 'Aywajd', 'Aywakd', 'Aywald', 'Aywamd', 'Aywand', 'Aywaod', 'Aywapd', 'Aywaqd', 'Ayward', 'Aywasd', 'Aywatd', 'Aywaud', 'Aywavd', 'Aywawd', 'Aywaxd', 'Aywayd', 'Aywazd', 'Azwaad', 'Azwabd', 'Azwacd', 'Azwadd', 'Azwaed', 'Azwafd', 'Azwagd', 'Azwahd', 'Azwaid', 'Azwajd', 'Azwakd', 'Azwald', 'Azwamd', 'Azwand', 'Azwaod', 'Azwapd', 'Azwaqd', 'Azward', 'Azwasd', 'Azwatd', 'Azwaud', 'Azwavd', 'Azwawd', 'Azwaxd', 'Azwayd', 'Azwazd']
676
  • 从基本字符串创建一个列表,以便能够改变其内容
  • 用可能值中的随机字符替换位置14
  • 作为字符串返回

为了获得随机名称,请执行以下操作,在耗尽所有名称之前,获得相同的两倍

from random import choice
from string import ascii_lowercase # easier than typing the alphabet

def generate(str_base, values):
    base = list(str_base)
    base[1] = choice(values)
    base[4] = choice(values)
    return "".join(base)

s = "Adward"
for i in range(10):
    print(generate(s, ascii_lowercase))

如果你想生成26*26=676个不同的

from itertools import product
from string import ascii_lowercase  # easier than typing the alphabet


def generate_all(str_base, values):
    base = list(str_base)
    for v1, v2 in product(values, repeat=2):
        base[1] = v1
        base[4] = v2
        yield "".join(base)

永远不要使用内置名称命名变量,如strlist

相关问题 更多 >