Geben Sie beim Schreiben des folgenden Python-Wörterbuchs Werte in Form einer Tabelle in eine Tabelle ein.
pattern = {
'Bereich': ['Japan', 'Amerika', 'England'],
'Sex': ['Mann', 'Frau'],
'Höhe': ['100 cm oder mehr', 'Weniger als 100 cm']
}
Wenn Sie eine Tabelle erstellen möchten, in der die folgenden Elemente in einer Tabelle multipliziert werden,
Bereich | Sex | Höhe | |
---|---|---|---|
1 | Japan | Mann | 100 cm oder mehr |
2 | Japan | Mann | Weniger als 100 cm |
3 | Japan | Frau | 100 cm oder mehr |
4 | Japan | Frau | Weniger als 100 cm |
5 | Amerika | Mann | 100 cm oder mehr |
6 | Amerika | Mann | Weniger als 100 cm |
7 | Amerika | Frau | 100 cm oder mehr |
8 | Amerika | Frau | Weniger als 100 cm |
9 | England | Mann | 100 cm oder mehr |
10 | England | Mann | Weniger als 100 cm |
11 | England | Frau | 100 cm oder mehr |
12 | England | Frau | Weniger als 100 cm |
Wenn Sie Folgendes in Python schreiben, werden diejenigen ausgegeben, die durch Kommas getrennt sind.
from itertools import product
if __name__ == '__main__':
pattern = {
'Bereich': ['Japan', 'Amerika', 'England'],
'Sex': ['Mann', 'Frau'],
'Höhe': ['100 cm oder mehr', 'Weniger als 100 cm']
}
delimiter = ','
result = delimiter + delimiter.join(pattern.keys()) + '\n'
i = 0
for item in product(*pattern.values()):
i += 1
result += str(i) + delimiter + delimiter.join(item) + '\n'
print(result)
Fügen Sie es in eine Tabelle ein, um eine schöne Tabelle zu erstellen.
,Bereich,Sex,Höhe
1,Japan,Mann,100 cm oder mehr
2,Japan,Mann,Weniger als 100 cm
3,Japan,Frau,100 cm oder mehr
4,Japan,Frau,Weniger als 100 cm
5,Amerika,Mann,100 cm oder mehr
6,Amerika,Mann,Weniger als 100 cm
7,Amerika,Frau,100 cm oder mehr
8,Amerika,Frau,Weniger als 100 cm
9,England,Mann,100 cm oder mehr
10,England,Mann,Weniger als 100 cm
11,England,Frau,100 cm oder mehr
12,England,Frau,Weniger als 100 cm
* pattern.values ()
geschrieben, um die Liste zu erweitern.Wenn Sie die folgende Tabelle für jedes Element und seinen Wert in der obigen Multiplikationstabelle erstellen möchten
Artikel | Wert |
---|---|
Bereich | Japan |
Amerika | |
England | |
Sex | Mann |
Frau | |
Höhe | 100 cm oder mehr |
Weniger als 100 cm |
Wenn Sie Folgendes in Python schreiben, werden diejenigen ausgegeben, die durch Kommas getrennt sind.
if __name__ == '__main__':
pattern = {
'Bereich': ['Japan', 'Amerika', 'England'],
'Sex': ['Mann', 'Frau'],
'Höhe': ['100 cm oder mehr', 'Weniger als 100 cm']
}
delimiter = ','
result = ''
for key, value in pattern.items():
for index, item in enumerate(value):
if index == 0:
result += key
result += delimiter + item + '\n'
print(result)
Fügen Sie es in eine Tabelle ein, um eine schöne Tabelle zu erstellen.
Bereich,Japan
,Amerika
,England
Sex,Mann
,Frau
Höhe,100 cm oder mehr
,Weniger als 100 cm
Wenn dies zu einer Python-Datei gemacht wird, die interaktiv erweitert werden kann, ist dies wie folgt.
from itertools import product
def get_input(default: str = ''):
value: str = input().rstrip("\n")
if value:
return value
return default
def configure():
print("""
Please configure
delimiter [,]:
""")
delimiter = get_input(',')
print(f"""
prefix:
""")
prefix = get_input()
print(f"""
suffix:
""")
suffix = get_input()
return delimiter, prefix, suffix
def print_product_table(pattern: dict, delimiter: str, prefix: str, suffix: str):
result = prefix + delimiter + delimiter.join(pattern.keys()) + suffix + '\n'
i = 0
for item in product(*pattern.values()):
i += 1
result += prefix + str(i) + delimiter + delimiter.join(item) + suffix + '\n'
print(result)
def print_category_key_value(pattern, delimiter, prefix, suffix):
result = ''
for key, value in pattern.items():
for index, item in enumerate(value):
line = prefix
if index == 0:
line += key
line += delimiter + item + suffix
result += line.strip() + '\n'
print(result)
if __name__ == '__main__':
pattern = {
'Bereich': ['Japan', 'Amerika', 'England'],
'Sex': ['Mann', 'Frau'],
'Höhe': ['100 cm oder mehr', 'Weniger als 100 cm']
}
print_pattern: int = None
while True:
print("""
Print dict structure.
Enter print pattern:
1. Product table
2. Category key-value
""")
print_pattern = int(get_input())
if print_pattern in [1, 2]:
break;
delimiter, prefix, suffix = configure()
if print_pattern == 1:
print_product_table(pattern, delimiter, prefix, suffix)
elif print_pattern == 2:
print_category_key_value(pattern, delimiter, prefix, suffix)
Recommended Posts